A Sound Reduction Semantics for Untyped CBN Multi - Stage Computation . Or , the Theory of MetaML is Non - trivial
نویسنده
چکیده
A multi-stage computation is one involving more than one stage of execution. MetaML is a language for programming multi-stage computations. Previous studies presented big-step semantics, categorical semantics, and sound type systems for MetaML. In this paper, we report on a conuent and sound reduction semantics for untyped call-by name (CBN) MetaML. The reduction semantics can be used to formally justify some optimization performed by a CBN MetaML implementation. The reduction semantics demonstrates that non-trivial equalities hold for object-code, even in the untyped setting. The paper also emphasizes that adding intensional analysis (that is, taking-apart object programs) to MetaML remains an interesting open problem.
منابع مشابه
A Sound Reduction Semantics for Untyped Cbn Multi-stage Computation. Or, the Theory of Metaml Is Non-trivial (preliminary Report)
MetaML is a programming language that provides a good formalism for expressing multi-stage computation. Deening a reduction semantics for MetaML has been an illusive challenge. This paper presents a sound and strikingly simple reduction semantics for CBN MetaML that avoids the complexities and pitfalls of the previously proposed notion of \level-annotated terms". The novelty of this reduction s...
متن کاملOn the Denotational Semantics of Staged Execution of Open Code
The functional meta-programming language MetaML of Sheard et al contains explicit staging constructs for generating and executing code. It provides a much finer control over the order of computation than traditional languages with fixed-evaluation strategies. This paper presents a novel denotational semantics for untyped MetaML that provides a remarkably simple treatment of two semantically pro...
متن کاملMetaML and multi-stage programming with explicit annotations
We introduce MetaML, a practically-motivated, staticallytyped multi-stage programming language. MetaML is a \real" language. We have built an implementation and used it to solve multi-stage problems. MetaML allows the programmer to construct, combine, and execute code fragments in a type-safe manner. Code fragments can contain free variables, but they obey the static-scoping principle. MetaML p...
متن کاملRe ning Semantics for Multi-stage Programming
The multi-stage programming paradigm supports runtime code generation and execution. Though powerful, its potential is impeded by the lack of static analysis support. Van Horn and Might proposed a general-purpose approach to systematically develop static analyses by transforming an environmental abstract machine, which evolves a control string, an environment and a continuation as a program eva...
متن کاملA duality between LM-fuzzy possibility computations and their logical semantics
Let X be a dcpo and let L be a complete lattice. The family σL(X) of all Scott continuous mappings from X to L is a complete lattice under pointwise order, we call it the L-fuzzy Scott structure on X. Let E be a dcpo. A mapping g : σL(E) −> M is called an LM-fuzzy possibility valuation of E if it preserves arbitrary unions. Denote by πLM(E) the set of all LM-fuzzy possibility valuations of E. T...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000